<?php 


	class categoryModel
	{
		public function __construct()
		{
			$this->db = new DB;
		}

		// 获取分类列表
		public function getData()
		{
			// echo 11;die;
			$pid = empty($_GET['id'])? 0 :$_GET['id'];

			// 1. 准备sql
			// 查询所有用户
			// select `id`, `name`, `pid`, `path`, `display`
			// from `category`
			// where pid = 0
			$res = $this->db
					   ->field('`id`,`name`,`pid`,`path`,`display`')
					   ->table('`category`')
					   ->where('pid = '.$pid)
					   ->select();
			return $res;
			// echo $this->db->sql; die;
		}

		public function getFind()
		{
			// 1. 接收数据
				$id = $_GET['id'];

			// 2. 验证数据
			// 3. 完整数据

			// 4. 准备呢且执行sql
				$res = $this->db
							->field(' `id`, `name`,`pid`, `path`, `display`')
							->table(' `category` ')
							->where(' id = '.$id)
							->find();

			// 5. 返回结果
				return $res;
		}

		public function count()
		{	
			// select  count(id)
			// from `category`

			$count = $this->db
						  ->field(' count(id) as total ')
						  ->table('`category`')
						  ->select();

			return $count[0]['total'];

		}

		public function doDel()
		{
			// 1. 接收数据
				$id = $_GET['id'];

			// 2. 验证数据
			// 3. 完善数据

			// 4. 准备且执行sql
				$find = $this->db
							 ->field('`id`')
							 ->table('`category`')
							 ->where('`pid` ='.$id)
							 ->find();

				if(!$find){
					// 	delete from `category` where id = 3
						$res = $this->db
									->table('`category`')
									->where('id = '.$id)
									->delete();
				}else{
					notice('当前分类还有子类, 请先删除子类', 'index.php?c=category');
				}

		}

		public function doAdd()
		{
			// 1. 接收数据
				$data = $_POST;
				// var_dump($data); die;

			// 2. 验证数据
			// 
			// 3. 完善数据
				// 自己玩...


			// 4. 准备且执行sql
			// insert into `category`( 字段名 )  values( 字段值 )
				$res = $this->db
							->table('`category`')
							->insert($data);
				// var_dump($this->db->sql); die;
			// 5. 返回结果
			// var_dump($res); die;
				return $res;
		}

		public function doEdit()
		{
			// 1. 接收数据
				$data = $_POST;
				// var_dump($data); die;
			// 2. 验证数据
			// 3. 完善数据
			// 		自己玩...
			
			// 4. 准备且执行sql
			// update `category` set 字段名 = 字段值,  ...   where id = xxxs

				$res = $this->db
							->table('`category`')
							->where('id = '.$data['id'])
							->update($data);
				// var_dump($this->db->sql); die;
				// var_dump($res); die;
			// 5. 返回结果
				return $res;
		}
		// 上下架切换
		public function display()
		{
			// 1. 接收数据
				$id = $_GET['id'];
			
			// 2. 根据 id 查询 display
				$data = $this->db
							->field('`display`')
							->table('`category`')
							->where(' `id` = '.$id)
							->find();

			// 3. 修改状态
				$data['display'] = $data['display'] == 1?2:1;

				$res = $this->db
							->table('category')
							->where('id = '.$id)
							->update($data);

		}

		// 获取商品分类列表(供goodsController调用)
		public function getCateList()
		{
			
			// select `id`, `name`, `path`
			// from `category`
			// order by concat(`path`, `id`)	

			// echo 111; die;
			$res = $this->db
						->field('`id`, `name`, `path`')
						->table('`category`')
						->order('concat(`path`, `id`)')
						->select();
			// var_dump($res); die;
			return $res;


		}
		
	}












